package yf.mall.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class KolProductEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public KolProductEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andFirstCidIsNull() {
            addCriterion("first_cid is null");
            return (Criteria) this;
        }

        public Criteria andFirstCidIsNotNull() {
            addCriterion("first_cid is not null");
            return (Criteria) this;
        }

        public Criteria andFirstCidEqualTo(Long value) {
            addCriterion("first_cid =", value, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidNotEqualTo(Long value) {
            addCriterion("first_cid <>", value, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidGreaterThan(Long value) {
            addCriterion("first_cid >", value, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidGreaterThanOrEqualTo(Long value) {
            addCriterion("first_cid >=", value, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidLessThan(Long value) {
            addCriterion("first_cid <", value, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidLessThanOrEqualTo(Long value) {
            addCriterion("first_cid <=", value, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidIn(List<Long> values) {
            addCriterion("first_cid in", values, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidNotIn(List<Long> values) {
            addCriterion("first_cid not in", values, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidBetween(Long value1, Long value2) {
            addCriterion("first_cid between", value1, value2, "firstCid");
            return (Criteria) this;
        }

        public Criteria andFirstCidNotBetween(Long value1, Long value2) {
            addCriterion("first_cid not between", value1, value2, "firstCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidIsNull() {
            addCriterion("second_cid is null");
            return (Criteria) this;
        }

        public Criteria andSecondCidIsNotNull() {
            addCriterion("second_cid is not null");
            return (Criteria) this;
        }

        public Criteria andSecondCidEqualTo(Long value) {
            addCriterion("second_cid =", value, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidNotEqualTo(Long value) {
            addCriterion("second_cid <>", value, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidGreaterThan(Long value) {
            addCriterion("second_cid >", value, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidGreaterThanOrEqualTo(Long value) {
            addCriterion("second_cid >=", value, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidLessThan(Long value) {
            addCriterion("second_cid <", value, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidLessThanOrEqualTo(Long value) {
            addCriterion("second_cid <=", value, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidIn(List<Long> values) {
            addCriterion("second_cid in", values, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidNotIn(List<Long> values) {
            addCriterion("second_cid not in", values, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidBetween(Long value1, Long value2) {
            addCriterion("second_cid between", value1, value2, "secondCid");
            return (Criteria) this;
        }

        public Criteria andSecondCidNotBetween(Long value1, Long value2) {
            addCriterion("second_cid not between", value1, value2, "secondCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidIsNull() {
            addCriterion("third_cid is null");
            return (Criteria) this;
        }

        public Criteria andThirdCidIsNotNull() {
            addCriterion("third_cid is not null");
            return (Criteria) this;
        }

        public Criteria andThirdCidEqualTo(Long value) {
            addCriterion("third_cid =", value, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidNotEqualTo(Long value) {
            addCriterion("third_cid <>", value, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidGreaterThan(Long value) {
            addCriterion("third_cid >", value, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidGreaterThanOrEqualTo(Long value) {
            addCriterion("third_cid >=", value, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidLessThan(Long value) {
            addCriterion("third_cid <", value, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidLessThanOrEqualTo(Long value) {
            addCriterion("third_cid <=", value, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidIn(List<Long> values) {
            addCriterion("third_cid in", values, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidNotIn(List<Long> values) {
            addCriterion("third_cid not in", values, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidBetween(Long value1, Long value2) {
            addCriterion("third_cid between", value1, value2, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andThirdCidNotBetween(Long value1, Long value2) {
            addCriterion("third_cid not between", value1, value2, "thirdCid");
            return (Criteria) this;
        }

        public Criteria andSalesIsNull() {
            addCriterion("sales is null");
            return (Criteria) this;
        }

        public Criteria andSalesIsNotNull() {
            addCriterion("sales is not null");
            return (Criteria) this;
        }

        public Criteria andSalesEqualTo(Long value) {
            addCriterion("sales =", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesNotEqualTo(Long value) {
            addCriterion("sales <>", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesGreaterThan(Long value) {
            addCriterion("sales >", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesGreaterThanOrEqualTo(Long value) {
            addCriterion("sales >=", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesLessThan(Long value) {
            addCriterion("sales <", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesLessThanOrEqualTo(Long value) {
            addCriterion("sales <=", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesIn(List<Long> values) {
            addCriterion("sales in", values, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesNotIn(List<Long> values) {
            addCriterion("sales not in", values, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesBetween(Long value1, Long value2) {
            addCriterion("sales between", value1, value2, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesNotBetween(Long value1, Long value2) {
            addCriterion("sales not between", value1, value2, "sales");
            return (Criteria) this;
        }

        public Criteria andCoverIsNull() {
            addCriterion("cover is null");
            return (Criteria) this;
        }

        public Criteria andCoverIsNotNull() {
            addCriterion("cover is not null");
            return (Criteria) this;
        }

        public Criteria andCoverEqualTo(String value) {
            addCriterion("cover =", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverNotEqualTo(String value) {
            addCriterion("cover <>", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverGreaterThan(String value) {
            addCriterion("cover >", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverGreaterThanOrEqualTo(String value) {
            addCriterion("cover >=", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverLessThan(String value) {
            addCriterion("cover <", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverLessThanOrEqualTo(String value) {
            addCriterion("cover <=", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverLike(String value) {
            addCriterion("cover like", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverNotLike(String value) {
            addCriterion("cover not like", value, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverIn(List<String> values) {
            addCriterion("cover in", values, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverNotIn(List<String> values) {
            addCriterion("cover not in", values, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverBetween(String value1, String value2) {
            addCriterion("cover between", value1, value2, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverNotBetween(String value1, String value2) {
            addCriterion("cover not between", value1, value2, "cover");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlIsNull() {
            addCriterion("cover_img_material_url is null");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlIsNotNull() {
            addCriterion("cover_img_material_url is not null");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlEqualTo(String value) {
            addCriterion("cover_img_material_url =", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlNotEqualTo(String value) {
            addCriterion("cover_img_material_url <>", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlGreaterThan(String value) {
            addCriterion("cover_img_material_url >", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlGreaterThanOrEqualTo(String value) {
            addCriterion("cover_img_material_url >=", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlLessThan(String value) {
            addCriterion("cover_img_material_url <", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlLessThanOrEqualTo(String value) {
            addCriterion("cover_img_material_url <=", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlLike(String value) {
            addCriterion("cover_img_material_url like", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlNotLike(String value) {
            addCriterion("cover_img_material_url not like", value, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlIn(List<String> values) {
            addCriterion("cover_img_material_url in", values, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlNotIn(List<String> values) {
            addCriterion("cover_img_material_url not in", values, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlBetween(String value1, String value2) {
            addCriterion("cover_img_material_url between", value1, value2, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andCoverImgMaterialUrlNotBetween(String value1, String value2) {
            addCriterion("cover_img_material_url not between", value1, value2, "coverImgMaterialUrl");
            return (Criteria) this;
        }

        public Criteria andUrlIsNull() {
            addCriterion("url is null");
            return (Criteria) this;
        }

        public Criteria andUrlIsNotNull() {
            addCriterion("url is not null");
            return (Criteria) this;
        }

        public Criteria andUrlEqualTo(String value) {
            addCriterion("url =", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotEqualTo(String value) {
            addCriterion("url <>", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlGreaterThan(String value) {
            addCriterion("url >", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlGreaterThanOrEqualTo(String value) {
            addCriterion("url >=", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlLessThan(String value) {
            addCriterion("url <", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlLessThanOrEqualTo(String value) {
            addCriterion("url <=", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlLike(String value) {
            addCriterion("url like", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotLike(String value) {
            addCriterion("url not like", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlIn(List<String> values) {
            addCriterion("url in", values, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotIn(List<String> values) {
            addCriterion("url not in", values, "url");
            return (Criteria) this;
        }

        public Criteria andUrlBetween(String value1, String value2) {
            addCriterion("url between", value1, value2, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotBetween(String value1, String value2) {
            addCriterion("url not between", value1, value2, "url");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Long value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Long value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Long value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Long value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Long value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Long value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Long> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Long> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Long value1, Long value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Long value1, Long value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andCosRatioIsNull() {
            addCriterion("cos_ratio is null");
            return (Criteria) this;
        }

        public Criteria andCosRatioIsNotNull() {
            addCriterion("cos_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andCosRatioEqualTo(Integer value) {
            addCriterion("cos_ratio =", value, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioNotEqualTo(Integer value) {
            addCriterion("cos_ratio <>", value, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioGreaterThan(Integer value) {
            addCriterion("cos_ratio >", value, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioGreaterThanOrEqualTo(Integer value) {
            addCriterion("cos_ratio >=", value, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioLessThan(Integer value) {
            addCriterion("cos_ratio <", value, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioLessThanOrEqualTo(Integer value) {
            addCriterion("cos_ratio <=", value, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioIn(List<Integer> values) {
            addCriterion("cos_ratio in", values, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioNotIn(List<Integer> values) {
            addCriterion("cos_ratio not in", values, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioBetween(Integer value1, Integer value2) {
            addCriterion("cos_ratio between", value1, value2, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosRatioNotBetween(Integer value1, Integer value2) {
            addCriterion("cos_ratio not between", value1, value2, "cosRatio");
            return (Criteria) this;
        }

        public Criteria andCosFeeIsNull() {
            addCriterion("cos_fee is null");
            return (Criteria) this;
        }

        public Criteria andCosFeeIsNotNull() {
            addCriterion("cos_fee is not null");
            return (Criteria) this;
        }

        public Criteria andCosFeeEqualTo(BigDecimal value) {
            addCriterion("cos_fee =", value, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeNotEqualTo(BigDecimal value) {
            addCriterion("cos_fee <>", value, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeGreaterThan(BigDecimal value) {
            addCriterion("cos_fee >", value, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cos_fee >=", value, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeLessThan(BigDecimal value) {
            addCriterion("cos_fee <", value, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cos_fee <=", value, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeIn(List<BigDecimal> values) {
            addCriterion("cos_fee in", values, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeNotIn(List<BigDecimal> values) {
            addCriterion("cos_fee not in", values, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cos_fee between", value1, value2, "cosFee");
            return (Criteria) this;
        }

        public Criteria andCosFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cos_fee not between", value1, value2, "cosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioIsNull() {
            addCriterion("kol_cos_ratio is null");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioIsNotNull() {
            addCriterion("kol_cos_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioEqualTo(Integer value) {
            addCriterion("kol_cos_ratio =", value, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioNotEqualTo(Integer value) {
            addCriterion("kol_cos_ratio <>", value, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioGreaterThan(Integer value) {
            addCriterion("kol_cos_ratio >", value, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioGreaterThanOrEqualTo(Integer value) {
            addCriterion("kol_cos_ratio >=", value, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioLessThan(Integer value) {
            addCriterion("kol_cos_ratio <", value, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioLessThanOrEqualTo(Integer value) {
            addCriterion("kol_cos_ratio <=", value, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioIn(List<Integer> values) {
            addCriterion("kol_cos_ratio in", values, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioNotIn(List<Integer> values) {
            addCriterion("kol_cos_ratio not in", values, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioBetween(Integer value1, Integer value2) {
            addCriterion("kol_cos_ratio between", value1, value2, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosRatioNotBetween(Integer value1, Integer value2) {
            addCriterion("kol_cos_ratio not between", value1, value2, "kolCosRatio");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeIsNull() {
            addCriterion("kol_cos_fee is null");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeIsNotNull() {
            addCriterion("kol_cos_fee is not null");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeEqualTo(BigDecimal value) {
            addCriterion("kol_cos_fee =", value, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeNotEqualTo(BigDecimal value) {
            addCriterion("kol_cos_fee <>", value, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeGreaterThan(BigDecimal value) {
            addCriterion("kol_cos_fee >", value, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("kol_cos_fee >=", value, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeLessThan(BigDecimal value) {
            addCriterion("kol_cos_fee <", value, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("kol_cos_fee <=", value, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeIn(List<BigDecimal> values) {
            addCriterion("kol_cos_fee in", values, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeNotIn(List<BigDecimal> values) {
            addCriterion("kol_cos_fee not in", values, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("kol_cos_fee between", value1, value2, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andKolCosFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("kol_cos_fee not between", value1, value2, "kolCosFee");
            return (Criteria) this;
        }

        public Criteria andCommentScoreIsNull() {
            addCriterion("comment_score is null");
            return (Criteria) this;
        }

        public Criteria andCommentScoreIsNotNull() {
            addCriterion("comment_score is not null");
            return (Criteria) this;
        }

        public Criteria andCommentScoreEqualTo(BigDecimal value) {
            addCriterion("comment_score =", value, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreNotEqualTo(BigDecimal value) {
            addCriterion("comment_score <>", value, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreGreaterThan(BigDecimal value) {
            addCriterion("comment_score >", value, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("comment_score >=", value, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreLessThan(BigDecimal value) {
            addCriterion("comment_score <", value, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreLessThanOrEqualTo(BigDecimal value) {
            addCriterion("comment_score <=", value, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreIn(List<BigDecimal> values) {
            addCriterion("comment_score in", values, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreNotIn(List<BigDecimal> values) {
            addCriterion("comment_score not in", values, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("comment_score between", value1, value2, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentScoreNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("comment_score not between", value1, value2, "commentScore");
            return (Criteria) this;
        }

        public Criteria andCommentNumIsNull() {
            addCriterion("comment_num is null");
            return (Criteria) this;
        }

        public Criteria andCommentNumIsNotNull() {
            addCriterion("comment_num is not null");
            return (Criteria) this;
        }

        public Criteria andCommentNumEqualTo(Long value) {
            addCriterion("comment_num =", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumNotEqualTo(Long value) {
            addCriterion("comment_num <>", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumGreaterThan(Long value) {
            addCriterion("comment_num >", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumGreaterThanOrEqualTo(Long value) {
            addCriterion("comment_num >=", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumLessThan(Long value) {
            addCriterion("comment_num <", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumLessThanOrEqualTo(Long value) {
            addCriterion("comment_num <=", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumIn(List<Long> values) {
            addCriterion("comment_num in", values, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumNotIn(List<Long> values) {
            addCriterion("comment_num not in", values, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumBetween(Long value1, Long value2) {
            addCriterion("comment_num between", value1, value2, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumNotBetween(Long value1, Long value2) {
            addCriterion("comment_num not between", value1, value2, "commentNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumIsNull() {
            addCriterion("order_num is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumIsNotNull() {
            addCriterion("order_num is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumEqualTo(Long value) {
            addCriterion("order_num =", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumNotEqualTo(Long value) {
            addCriterion("order_num <>", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumGreaterThan(Long value) {
            addCriterion("order_num >", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumGreaterThanOrEqualTo(Long value) {
            addCriterion("order_num >=", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumLessThan(Long value) {
            addCriterion("order_num <", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumLessThanOrEqualTo(Long value) {
            addCriterion("order_num <=", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumIn(List<Long> values) {
            addCriterion("order_num in", values, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumNotIn(List<Long> values) {
            addCriterion("order_num not in", values, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumBetween(Long value1, Long value2) {
            addCriterion("order_num between", value1, value2, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumNotBetween(Long value1, Long value2) {
            addCriterion("order_num not between", value1, value2, "orderNum");
            return (Criteria) this;
        }

        public Criteria andViewNumIsNull() {
            addCriterion("view_num is null");
            return (Criteria) this;
        }

        public Criteria andViewNumIsNotNull() {
            addCriterion("view_num is not null");
            return (Criteria) this;
        }

        public Criteria andViewNumEqualTo(Long value) {
            addCriterion("view_num =", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumNotEqualTo(Long value) {
            addCriterion("view_num <>", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumGreaterThan(Long value) {
            addCriterion("view_num >", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumGreaterThanOrEqualTo(Long value) {
            addCriterion("view_num >=", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumLessThan(Long value) {
            addCriterion("view_num <", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumLessThanOrEqualTo(Long value) {
            addCriterion("view_num <=", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumIn(List<Long> values) {
            addCriterion("view_num in", values, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumNotIn(List<Long> values) {
            addCriterion("view_num not in", values, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumBetween(Long value1, Long value2) {
            addCriterion("view_num between", value1, value2, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumNotBetween(Long value1, Long value2) {
            addCriterion("view_num not between", value1, value2, "viewNum");
            return (Criteria) this;
        }

        public Criteria andKolNumIsNull() {
            addCriterion("kol_num is null");
            return (Criteria) this;
        }

        public Criteria andKolNumIsNotNull() {
            addCriterion("kol_num is not null");
            return (Criteria) this;
        }

        public Criteria andKolNumEqualTo(Long value) {
            addCriterion("kol_num =", value, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumNotEqualTo(Long value) {
            addCriterion("kol_num <>", value, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumGreaterThan(Long value) {
            addCriterion("kol_num >", value, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumGreaterThanOrEqualTo(Long value) {
            addCriterion("kol_num >=", value, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumLessThan(Long value) {
            addCriterion("kol_num <", value, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumLessThanOrEqualTo(Long value) {
            addCriterion("kol_num <=", value, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumIn(List<Long> values) {
            addCriterion("kol_num in", values, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumNotIn(List<Long> values) {
            addCriterion("kol_num not in", values, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumBetween(Long value1, Long value2) {
            addCriterion("kol_num between", value1, value2, "kolNum");
            return (Criteria) this;
        }

        public Criteria andKolNumNotBetween(Long value1, Long value2) {
            addCriterion("kol_num not between", value1, value2, "kolNum");
            return (Criteria) this;
        }

        public Criteria andMarketTypeIsNull() {
            addCriterion("market_type is null");
            return (Criteria) this;
        }

        public Criteria andMarketTypeIsNotNull() {
            addCriterion("market_type is not null");
            return (Criteria) this;
        }

        public Criteria andMarketTypeEqualTo(Integer value) {
            addCriterion("market_type =", value, "marketType");
            return (Criteria) this;
        }

        public Criteria andMaterialTypeEqualTo(Integer value) {
            addCriterion("material_type =", value, "materialType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeNotEqualTo(Integer value) {
            addCriterion("market_type <>", value, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeGreaterThan(Integer value) {
            addCriterion("market_type >", value, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("market_type >=", value, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeLessThan(Integer value) {
            addCriterion("market_type <", value, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeLessThanOrEqualTo(Integer value) {
            addCriterion("market_type <=", value, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeIn(List<Integer> values) {
            addCriterion("market_type in", values, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeNotIn(List<Integer> values) {
            addCriterion("market_type not in", values, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeBetween(Integer value1, Integer value2) {
            addCriterion("market_type between", value1, value2, "marketType");
            return (Criteria) this;
        }

        public Criteria andMarketTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("market_type not between", value1, value2, "marketType");
            return (Criteria) this;
        }

        public Criteria andCategoryNameIsNull() {
            addCriterion("category_name is null");
            return (Criteria) this;
        }

        public Criteria andCategoryNameIsNotNull() {
            addCriterion("category_name is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryNameEqualTo(String value) {
            addCriterion("category_name =", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotEqualTo(String value) {
            addCriterion("category_name <>", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameGreaterThan(String value) {
            addCriterion("category_name >", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameGreaterThanOrEqualTo(String value) {
            addCriterion("category_name >=", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameLessThan(String value) {
            addCriterion("category_name <", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameLessThanOrEqualTo(String value) {
            addCriterion("category_name <=", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameLike(String value) {
            addCriterion("category_name like", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotLike(String value) {
            addCriterion("category_name not like", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameIn(List<String> values) {
            addCriterion("category_name in", values, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotIn(List<String> values) {
            addCriterion("category_name not in", values, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameBetween(String value1, String value2) {
            addCriterion("category_name between", value1, value2, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotBetween(String value1, String value2) {
            addCriterion("category_name not between", value1, value2, "categoryName");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoIsNull() {
            addCriterion("logistics_info is null");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoIsNotNull() {
            addCriterion("logistics_info is not null");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoEqualTo(String value) {
            addCriterion("logistics_info =", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotEqualTo(String value) {
            addCriterion("logistics_info <>", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoGreaterThan(String value) {
            addCriterion("logistics_info >", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoGreaterThanOrEqualTo(String value) {
            addCriterion("logistics_info >=", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoLessThan(String value) {
            addCriterion("logistics_info <", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoLessThanOrEqualTo(String value) {
            addCriterion("logistics_info <=", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoLike(String value) {
            addCriterion("logistics_info like", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotLike(String value) {
            addCriterion("logistics_info not like", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoIn(List<String> values) {
            addCriterion("logistics_info in", values, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotIn(List<String> values) {
            addCriterion("logistics_info not in", values, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoBetween(String value1, String value2) {
            addCriterion("logistics_info between", value1, value2, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotBetween(String value1, String value2) {
            addCriterion("logistics_info not between", value1, value2, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andAssuredIsNull() {
            addCriterion("assured is null");
            return (Criteria) this;
        }

        public Criteria andAssuredIsNotNull() {
            addCriterion("assured is not null");
            return (Criteria) this;
        }

        public Criteria andAssuredEqualTo(Integer value) {
            addCriterion("assured =", value, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredNotEqualTo(Integer value) {
            addCriterion("assured <>", value, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredGreaterThan(Integer value) {
            addCriterion("assured >", value, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredGreaterThanOrEqualTo(Integer value) {
            addCriterion("assured >=", value, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredLessThan(Integer value) {
            addCriterion("assured <", value, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredLessThanOrEqualTo(Integer value) {
            addCriterion("assured <=", value, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredIn(List<Integer> values) {
            addCriterion("assured in", values, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredNotIn(List<Integer> values) {
            addCriterion("assured not in", values, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredBetween(Integer value1, Integer value2) {
            addCriterion("assured between", value1, value2, "assured");
            return (Criteria) this;
        }

        public Criteria andAssuredNotBetween(Integer value1, Integer value2) {
            addCriterion("assured not between", value1, value2, "assured");
            return (Criteria) this;
        }

        public Criteria andSxtIsNull() {
            addCriterion("sxt is null");
            return (Criteria) this;
        }

        public Criteria andSxtIsNotNull() {
            addCriterion("sxt is not null");
            return (Criteria) this;
        }

        public Criteria andSxtEqualTo(Integer value) {
            addCriterion("sxt =", value, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtNotEqualTo(Integer value) {
            addCriterion("sxt <>", value, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtGreaterThan(Integer value) {
            addCriterion("sxt >", value, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtGreaterThanOrEqualTo(Integer value) {
            addCriterion("sxt >=", value, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtLessThan(Integer value) {
            addCriterion("sxt <", value, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtLessThanOrEqualTo(Integer value) {
            addCriterion("sxt <=", value, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtIn(List<Integer> values) {
            addCriterion("sxt in", values, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtNotIn(List<Integer> values) {
            addCriterion("sxt not in", values, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtBetween(Integer value1, Integer value2) {
            addCriterion("sxt between", value1, value2, "sxt");
            return (Criteria) this;
        }

        public Criteria andSxtNotBetween(Integer value1, Integer value2) {
            addCriterion("sxt not between", value1, value2, "sxt");
            return (Criteria) this;
        }

        public Criteria andSharableIsNull() {
            addCriterion("sharable is null");
            return (Criteria) this;
        }

        public Criteria andSharableIsNotNull() {
            addCriterion("sharable is not null");
            return (Criteria) this;
        }

        public Criteria andSharableEqualTo(Integer value) {
            addCriterion("sharable =", value, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableNotEqualTo(Integer value) {
            addCriterion("sharable <>", value, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableGreaterThan(Integer value) {
            addCriterion("sharable >", value, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableGreaterThanOrEqualTo(Integer value) {
            addCriterion("sharable >=", value, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableLessThan(Integer value) {
            addCriterion("sharable <", value, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableLessThanOrEqualTo(Integer value) {
            addCriterion("sharable <=", value, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableIn(List<Integer> values) {
            addCriterion("sharable in", values, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableNotIn(List<Integer> values) {
            addCriterion("sharable not in", values, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableBetween(Integer value1, Integer value2) {
            addCriterion("sharable between", value1, value2, "sharable");
            return (Criteria) this;
        }

        public Criteria andSharableNotBetween(Integer value1, Integer value2) {
            addCriterion("sharable not between", value1, value2, "sharable");
            return (Criteria) this;
        }

        public Criteria andRecommendIsNull() {
            addCriterion("recommend is null");
            return (Criteria) this;
        }

        public Criteria andRecommendIsNotNull() {
            addCriterion("recommend is not null");
            return (Criteria) this;
        }

        public Criteria andRecommendEqualTo(Integer value) {
            addCriterion("recommend =", value, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendNotEqualTo(Integer value) {
            addCriterion("recommend <>", value, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendGreaterThan(Integer value) {
            addCriterion("recommend >", value, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendGreaterThanOrEqualTo(Integer value) {
            addCriterion("recommend >=", value, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendLessThan(Integer value) {
            addCriterion("recommend <", value, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendLessThanOrEqualTo(Integer value) {
            addCriterion("recommend <=", value, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendIn(List<Integer> values) {
            addCriterion("recommend in", values, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendNotIn(List<Integer> values) {
            addCriterion("recommend not in", values, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendBetween(Integer value1, Integer value2) {
            addCriterion("recommend between", value1, value2, "recommend");
            return (Criteria) this;
        }

        public Criteria andRecommendNotBetween(Integer value1, Integer value2) {
            addCriterion("recommend not between", value1, value2, "recommend");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andPromotionIsNull() {
            addCriterion("promotion is null");
            return (Criteria) this;
        }

        public Criteria andPromotionIsNotNull() {
            addCriterion("promotion is not null");
            return (Criteria) this;
        }

        public Criteria andPromotionEqualTo(String value) {
            addCriterion("promotion =", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionNotEqualTo(String value) {
            addCriterion("promotion <>", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionGreaterThan(String value) {
            addCriterion("promotion >", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionGreaterThanOrEqualTo(String value) {
            addCriterion("promotion >=", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionLessThan(String value) {
            addCriterion("promotion <", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionLessThanOrEqualTo(String value) {
            addCriterion("promotion <=", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionLike(String value) {
            addCriterion("promotion like", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionNotLike(String value) {
            addCriterion("promotion not like", value, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionIn(List<String> values) {
            addCriterion("promotion in", values, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionNotIn(List<String> values) {
            addCriterion("promotion not in", values, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionBetween(String value1, String value2) {
            addCriterion("promotion between", value1, value2, "promotion");
            return (Criteria) this;
        }

        public Criteria andPromotionNotBetween(String value1, String value2) {
            addCriterion("promotion not between", value1, value2, "promotion");
            return (Criteria) this;
        }

        public Criteria andVideoUrlIsNull() {
            addCriterion("video_url is null");
            return (Criteria) this;
        }

        public Criteria andVideoUrlIsNotNull() {
            addCriterion("video_url is not null");
            return (Criteria) this;
        }

        public Criteria andVideoUrlEqualTo(String value) {
            addCriterion("video_url =", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotEqualTo(String value) {
            addCriterion("video_url <>", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlGreaterThan(String value) {
            addCriterion("video_url >", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlGreaterThanOrEqualTo(String value) {
            addCriterion("video_url >=", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlLessThan(String value) {
            addCriterion("video_url <", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlLessThanOrEqualTo(String value) {
            addCriterion("video_url <=", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlLike(String value) {
            addCriterion("video_url like", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotLike(String value) {
            addCriterion("video_url not like", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlIn(List<String> values) {
            addCriterion("video_url in", values, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotIn(List<String> values) {
            addCriterion("video_url not in", values, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlBetween(String value1, String value2) {
            addCriterion("video_url between", value1, value2, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotBetween(String value1, String value2) {
            addCriterion("video_url not between", value1, value2, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("`type` is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("`type` is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("`type` =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("`type` <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("`type` >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("`type` >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("`type` <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("`type` <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("`type` in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("`type` not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("`type` between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("`type` not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNull() {
            addCriterion("add_time is null");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNotNull() {
            addCriterion("add_time is not null");
            return (Criteria) this;
        }

        public Criteria andAddTimeEqualTo(Date value) {
            addCriterion("add_time =", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotEqualTo(Date value) {
            addCriterion("add_time <>", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThan(Date value) {
            addCriterion("add_time >", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("add_time >=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThan(Date value) {
            addCriterion("add_time <", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThanOrEqualTo(Date value) {
            addCriterion("add_time <=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeIn(List<Date> values) {
            addCriterion("add_time in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotIn(List<Date> values) {
            addCriterion("add_time not in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeBetween(Date value1, Date value2) {
            addCriterion("add_time between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotBetween(Date value1, Date value2) {
            addCriterion("add_time not between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andSaleOf7IsNull() {
            addCriterion("sale_of_7 is null");
            return (Criteria) this;
        }

        public Criteria andSaleOf7IsNotNull() {
            addCriterion("sale_of_7 is not null");
            return (Criteria) this;
        }

        public Criteria andSaleOf7EqualTo(Long value) {
            addCriterion("sale_of_7 =", value, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7NotEqualTo(Long value) {
            addCriterion("sale_of_7 <>", value, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7GreaterThan(Long value) {
            addCriterion("sale_of_7 >", value, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7GreaterThanOrEqualTo(Long value) {
            addCriterion("sale_of_7 >=", value, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7LessThan(Long value) {
            addCriterion("sale_of_7 <", value, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7LessThanOrEqualTo(Long value) {
            addCriterion("sale_of_7 <=", value, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7In(List<Long> values) {
            addCriterion("sale_of_7 in", values, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7NotIn(List<Long> values) {
            addCriterion("sale_of_7 not in", values, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7Between(Long value1, Long value2) {
            addCriterion("sale_of_7 between", value1, value2, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOf7NotBetween(Long value1, Long value2) {
            addCriterion("sale_of_7 not between", value1, value2, "saleOf7");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayIsNull() {
            addCriterion("sale_of_today is null");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayIsNotNull() {
            addCriterion("sale_of_today is not null");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayEqualTo(Long value) {
            addCriterion("sale_of_today =", value, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayNotEqualTo(Long value) {
            addCriterion("sale_of_today <>", value, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayGreaterThan(Long value) {
            addCriterion("sale_of_today >", value, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayGreaterThanOrEqualTo(Long value) {
            addCriterion("sale_of_today >=", value, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayLessThan(Long value) {
            addCriterion("sale_of_today <", value, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayLessThanOrEqualTo(Long value) {
            addCriterion("sale_of_today <=", value, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayIn(List<Long> values) {
            addCriterion("sale_of_today in", values, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayNotIn(List<Long> values) {
            addCriterion("sale_of_today not in", values, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayBetween(Long value1, Long value2) {
            addCriterion("sale_of_today between", value1, value2, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andSaleOfTodayNotBetween(Long value1, Long value2) {
            addCriterion("sale_of_today not between", value1, value2, "saleOfToday");
            return (Criteria) this;
        }

        public Criteria andInStockIsNull() {
            addCriterion("in_stock is null");
            return (Criteria) this;
        }

        public Criteria andInStockIsNotNull() {
            addCriterion("in_stock is not null");
            return (Criteria) this;
        }

        public Criteria andInStockEqualTo(Integer value) {
            addCriterion("in_stock =", value, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockNotEqualTo(Integer value) {
            addCriterion("in_stock <>", value, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockGreaterThan(Integer value) {
            addCriterion("in_stock >", value, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockGreaterThanOrEqualTo(Integer value) {
            addCriterion("in_stock >=", value, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockLessThan(Integer value) {
            addCriterion("in_stock <", value, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockLessThanOrEqualTo(Integer value) {
            addCriterion("in_stock <=", value, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockIn(List<Integer> values) {
            addCriterion("in_stock in", values, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockNotIn(List<Integer> values) {
            addCriterion("in_stock not in", values, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockBetween(Integer value1, Integer value2) {
            addCriterion("in_stock between", value1, value2, "inStock");
            return (Criteria) this;
        }

        public Criteria andInStockNotBetween(Integer value1, Integer value2) {
            addCriterion("in_stock not between", value1, value2, "inStock");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}